/**
 * 新增合同类型
 */
export type ContractTypeCreateParams = {
  name: string;
};

/**
 * 合同类型列表
 */
export type ContractTypeList = {
  contractTypeId: string;
  contractTypeName: string;
  tenantId?: string;
};

/**
 * 报价模板列表
 */
export type OfferTemplateItem = {
  offerId: string;
  templateId: string;
  templateName: string;
  contractTypeId: string;
  tenantId: string;
  [props: string]: any;
};
/**
 * 协议模板列表
 */
export type ProtocolTemplateItem = {
  protocolId: string;
  contractTemplateId: string;
  templateName: string;
  contractTypeId: string;
  tenantId: string;
  [props: string]: any;
};

/**
 * 收款计划节点
 */
export type ReceiveBusTypeNode = {
  receiveTaskId: string; //收款任务节点id
  receiveTaskName: string;
  receiveTaskScale: string;
  checkId: string;
  checkName: string;
  receiveNodeId: string;
};
/**
 * 收款计划列表
 */
export type ReceiveBusTypeItem = {
  receiveBusTypeId: string;
  receiveBusTypeName: string;
  nodeList: ReceiveBusTypeNode[];
};

/**
 * 合同类型模板列表
 */
export type ContractTypeTemplateList = {
  offerTemplateList: OfferTemplateItem[];
  protocolTemplateList: ProtocolTemplateItem[];
  receiveBusTypeList: ReceiveBusTypeItem[];
};

/**
 * 合同类型详情 data
 */
export type ContractTypeDetail = ContractTypeList & ContractTypeTemplateList;

/**
 * 合同模板列表
 */
export type ContractTemplateParams = {
  name: string;
  status: boolean;
};
export type ContractTemplateItem = {
  templateId: string;
  templateContractSignId: string;
  templateName: string;
  description: string;
  status: string;
  tenantId: string;
  createTime: string;
} & ContractTypeTemplateList;

/**
 * 搜索业务类型参数
 */
export type SearchBusTypeParams = {
  type: string;
  name: string;
};
/**
 * 搜索业务类型列表
 */
export type SearchBusTypeItem = {
  typeId: string;
  typeName: string;
  type: string;
};

/**
 * 搜索业务类型下的任务参数
 */
export type SearchBusTypeTaskParams = {
  type: string;
  typeId: string;
  name: string;
};

/**
 * 搜索业务类型下的任务列表
 */
export type SearchBusTypeTaskItem = {
  receiveTaskId: string;
  receiveTaskName: string;
  receiveTaskScale: string;
  checkId: string;
  checkName: string;
};
